Open In Colab


Machine Learning Techniques - ISIS4219

Segundo Semestre - 2021

Integrantes

Problema

Las enfermedades cardiovasculares son la principal causa de muerte en el mundo, y se calcula que cobran 17,9 millones de vidas al año (OMS). La enfermedad de las arterias coronarias es el tipo más común de enfermedad cardíaca y se produce debido a las obstrucciones (placa) desarrolladas en el interior de las arterias coronarias (vasos sanguíneos que alimentan los músculos del corazón). Los cardiólogos utilizan diversas técnicas de imagen y mediciones invasivas de la presión arterial para examinar y controlar la gravedad de dichas obstrucciones.
Los factores de riesgo conductuales más importantes de estas enfermedades son una dieta poco saludable, la inactividad física, el consumo de tabaco y el uso nocivo del alcohol. Los efectos de los factores de riesgo pueden manifestarse en las personas en forma de aumento de la presión arterial, aumento de la glucosa en sangre, aumento de los lípidos en sangre y sobrepeso y obesidad. Identificar a las personas con mayor riesgo de sufrir enfermedades cardiovasculares y garantizar que reciban el tratamiento adecuado puede evitar muertes prematuras. Con este objetivo en mente, se quiere utilizar las técnicas de machine learning para construir un modelo que permita predecir qué pacientes pueden estar en riesgo de padecer este tipo de cardiopatía.

Referencias.
OMS (s.f.). “Cardiovascular diseases”. https://www.who.int/health-topics/cardiovascular-diseases#tab=tab_1

Fuente de Datos: https://www.kaggle.com/agsam23/coronary-artery-disease/version/3

Librerías necesarias

En primer lugar, se importan todas las librerías requeridas para realizar la lectura, preprocesamiento y construcción del modelo incluyendo las librerías re

Lectura de datos

La fuente de datos otorgada cuenta con tres archivos: el primero con los datos crudos, el segundo con los datos clasificados y el tercero con estos últimos particionados en cinco subconjuntos de forma estratificada. Considerando que en datasets reducidos, como es el caso en cuestión, es natural tomar el 20% del conjunto total para hacer pruebas sobre el modelo seleccionado (test set), se optó por hacer uso del último archivo con el propósito de aprovechar las particiones estratificadas y de tener así el conjunto de prueba segmentado desde un principio.

Perfilamiento de datos

Una vez importados los datos, es necesario conocer sus campos de manera general por lo que se realiza un perfilamiento de los mismos a través de la librería pandas_profiling que retorna de forma renderizada un reporte simple como se muestra a continuación.

Preprocesamiento

Con base en el perfilamiento, fue posible evidenciar que, aunque no hay valores faltantes en ninguno de los campos, existen en total 6 registros donde uno de los atributos 'ca' o 'thal' toman el valor de '?'. Dado que esta cantidad de registros es insignificante en comparación con el tamaño del dataset inicial (303 datos), se decidió eliminar dichos registros. De igual manera, puesto que se busca identificar la presencia o ausencia de la enfermedad de las arterias coronarias independientemente de la etapa en la que se encuentra,